package controller;

import eccezioni.CampoErratoException;
import entity.UtenteRegistrato;
import javax.ejb.Local;

/**
 * Metodi per la gestione del profilo utente
 * @author Ale
 */
@Local
public interface ControllerProfiloLocal {

    /**
     * Permette di modificare il numero di telefono di un utente
     * @param utenteLoggato utente di cui modificare il profilo
     * @param telefono nuovo numero di telefono
     * @throws CampoErratoException se telefono non è un numero di telefono valido
     */
    public void modificaTelefono(UtenteRegistrato utenteLoggato, String telefono) throws CampoErratoException;

    /**
     * Permette di modificare l'indirizzo dell'abitazione di un utente
     * @param utenteLoggato utente di cui modificare il profilo
     * @param indirizzo nuovo indirizzo
     * @throws CampoErratoException se l'indirizzo non è riconosciuto
     */
    public void modificaIndirizzo(UtenteRegistrato utenteLoggato, String indirizzo) throws CampoErratoException;

    /**
     * Permette di modificare la mail dell'account PayPal di un utente
     * @param utenteLoggato utente di cui modificare il profilo
     * @param paypal nuova mail
     * @throws CampoErratoException se paypal non è un indirizzo e-mail valido
     */
    public void modificaPaypal(UtenteRegistrato utenteLoggato, String paypal) throws CampoErratoException;

    /**
     * Imposta il Facebook id di un utente
     * @param ur utente di cui impostare il facebook id
     * @param id facebook id
     */
    public void setFacebookId(UtenteRegistrato ur, String id);
    
}
